package swing.chapter04;

import swing.util.SwingConsle;

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableRowSorter;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

/**
 * 表格
 */
public class JTable4 extends JFrame {

    public JTable4() {
        // 表格头
        Vector<String> columnNames = new Vector<>();
        columnNames.add("编号");
        columnNames.add("姓名");
        columnNames.add("年龄");

        // 表格数据
        Vector<Vector<String>> rowData = new Vector<>();
        for(int i=1;i<10;i++){
            Vector<String> row = new Vector<>();
            row.add(i*10+"");
            row.add(i + "张三");
            row.add(i * 8 + "");

            rowData.add(row);
        }
        // 创建表格模型
        DefaultTableModel tableModel = new DefaultTableModel(rowData, columnNames);
        JTable jTable = new JTable(tableModel);
        // 设置表格列排序
        jTable.setRowSorter(new TableRowSorter<>(tableModel));

        add(jTable);

        // 将表格头展示到上方, JTabel 不用 JScrollPane 包裹时不显示表格头
        JTableHeader tableHeader = jTable.getTableHeader();
        add(tableHeader, BorderLayout.NORTH);

    }

    public static void main(String[] args) {
        SwingConsle.run(new JTable4(), 300, 200);
    }
}
